Robots used in factories and the like sometimes make an abnormal motion due to a failure in a hardware component or a software defect; for example, a robot sometimes makes a motion at a velocity exceeding a value specified by a program or manually specified by a user, or moves toward an unexpected position.
Emergency stop buttons are provided on robots, but since servomotors of high power are mounted on recent robots, it is difficult to immediately stop a robot which has started an abnormal motion by merely depressing the emergency stop button. In addition, an operator tends to be late in depressing the emergency stop button.
In view of the above, there has been proposed a method in which a motion amount of each axis of a robot is periodically monitored by a robot controller and when the motion amount exceeds a predetermined limit value, the robot is automatically stopped, independently of the emergency stop button. This method, however, includes the following problems.
In performing a path control for straight-line or circular-arc, it is natural that velocities of axes greatly differ from one another, and particularly in a control for a path passing near a singular point, the maximum velocity is often required for a wrist axis etc. to maintain a designated orientation of the robot. Therefore, it is not appropriate to set a lower limit value for the detection of abnormal motions so as to avoid erroneous detection of abnormal motions. Consequently, even when an unexpected motion actually occurs, such a motion sometimes can not be determined to be abnormal and the robot is unable to be stopped automatically.
Further, with the above method, in the case where an abnormality occurs as to a position of a robot in motion, for example, a substantial deviation of the robot position from a taught path or a manual feed (Jog feed) direction occurs, such abnormality can not be detected to automatically stop the robot, as long as the velocities of motion of the respective axes are not abnormal.
Thus, the conventional technique is not sufficiently capable of immediately and surely responding to robot motions (abnormal state of motion or abnormal position in motion), posing problems in securing safety of the operator and protection of peripheral equipment.